Repository navigation
Conversation
From the agent tests behind BenchUp3D#41, the tools agents needed most: - Router profiles on board edges (add_profile, remove_profile), with edges named by the faces they lie between. - Joint trimming and set_joint; get_object shows a joint's geometry, the part actually cut and whether the cut in b is through, stopped or closed. - Finishes (set_finish) and a time estimate (get_estimate). - Boards from a 2D outline with arcs (create_profile_board). - Face operations (split_face, merge_faces), distribute and change_thickness, which keeps outer faces, joint shares and butting parts. - Scene filters, measure_space and find_surfaces for walls and floors made of plain faces, and check_model {only_new} for a batch's new problems. - A PNG preview without a GPU (benchup render, MCP render_view), with joints cut, dimensions and notes, reporting overlapping labels. - Over MCP, run_batch (with dry runs and $N references) and undo. - benchup open on macOS passes the file as a launch argument when BenchUp is not running (the app cannot take an open event at start-up, BenchUp3D#58). The agent guide and CLI docs cover the new tools, MCP and the findings of two agent rounds. The Cutting Plan and the items that need a core decision stay open in BenchUp3D#42; the joint precision limit is BenchUp3D#61. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
crates/benchup-cli/evals holds the 17 cases used to test the tools with agents (12 from BenchUp3D#41 and 5 for the BenchUp3D#42 tools), their seed projects, reference solutions, the prompt every agent gets, a script that prepares a round and the results of rounds 1 to 6. tests/evals.rs replays the reference solutions with the real binary and checks them with check_model, so a change that breaks what agents did fails without running agents. CI now runs the benchup-tools and benchup-cli tests, which it did not run before. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
furilo
force-pushed
the
agent-tools-42
branch
from
November 14, 2026 12:17
d917b79 to
0e2537a
Compare
Since BenchUp3D#46 the desktop app reloads an open project about a second after its file changes on disk, and asks first when it has unsaved changes. The CLI docs and the agent guide said to run `benchup open` again; they now describe the reload, and keep that advice for BenchUp 0.7.1 and older. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Collaborator
|
Hey @furilo, just to confirm that the force-pushed is a merge of the agent-tools-42 branch into this fork? |
The requests, the prompt and its report sections, the seed project (estanteria.bup is now bookcase.bup, with English part names and no history) and the names in the reference batches are now in English, like the rest of the repository. Part ids are unchanged, so the reference solutions still apply. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of #42: the agent tools that agents needed most in the testing behind #41, plus a way to keep checking them with agents.
Tools (benchup-tools, so the CLI, MCP and the in-app assistant share them)
add_profileandremove_profile, with edges named by the faces they lie between ([["+z", "-y"]]is the top front edge).get_objectlists a board's profilestrim,keep_endandtrim_axisin joint params, plusset_joint;set_finish;get_estimate(finishing, joinery and router time with BenchUp's default allowances, and wood by material)create_profile_board: a 2D outline with arcs (bulge or sagitta), plane, thickness, grain, material and tag in one callsplit_face(by a line or a plane, pieces ordered and with centres) andmerge_faces(coplanar seams, holes such as a mortise's mouth, T-junctions)distribute(equal gaps or centres, with or without gaps at the limits)change_thickness: keeps outer faces, keeps each joint's share of the thickness, and moves boards that only butt against a resized boardget_sceneids,depth,fieldsandsections(the example project goes from 35.8 KB to about 1 KB)measure_space(free gap along each axis to the nearest face) andfind_surfaces(walls and floors made of plain faces)get_objecton a joint: region, the tenon or tongue actually cut, depth and direction, and whether the cut in b is through, stopped or closedbenchup renderand MCPrender_view: a PNG of a standard view without a GPU. Joints and profiles are cut, dimensions and notes are drawn, and overlapping labels are reportedcheck_model {"only_new": true}: only the problems the batch introducedAlso:
run_batch(one undo step,dry_run,$Nreferences) andundo.benchup tools --names.--batchalways answers withresults, and a failed batch leads with its error and hint.benchup openon macOS passes the file as a launch argument when BenchUp is not running. The app cannot take an open event while it starts up (macOS: opening a .bup while BenchUp is not running fails with "cannot open files in the BenchUp project format" #58).Not included:
Docs
docs/agent-guide.md(benchup guide) covers:rabbetjoint really cuts, and how to rout a classic rabbet instead;create_profile_board;distribute;docs/cli.mdcoversrenderand the MCP tools.Agent evaluation (second commit)
crates/benchup-cli/evalskeeps the cases used to test the tools with agents that only know what the tools tell them:setup.pyto prepare a round;Summary of the rounds:
The cases the tools were made for dropped most: lengthening the desk went from ~61 to 23 commands, and the curved bedside table from 36 to 16, first try.
tests/evals.rsreplays the reference solutions with the real binary and checks them withcheck_model, so a change that breaks what agents did fails without running agents. CI now runs thebenchup-toolsandbenchup-clitests, which it did not run before. This is the first time the CLI tests run on Windows.Testing
cargo test -p benchup-tools -p benchup-cli: 67 tool tests, 22 CLI tests and the evals replay.benchup-coreandbenchup-appare unchanged.🤖 Generated with Claude Code